package com.ants.modules.ArticleManage.dto;

import com.ants.modules.articleLable.entity.ArticleLable;
import com.ants.modules.articleSort.entity.ArticleSort;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * TODO
 * Author Chen
 * Date   2022/10/11 17:22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "文章管理对象", description = "文章管理对象")
public class ArticleManageDto implements Serializable {
    /**
     * ID
     */
    private String id;

    /**
     * 标签
     */
    private String title;

    /**
     * 内容md
     */
    private String content;
    /**
     * 内容html
     */
    private String html;

    /**
     * 发布时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date publishTime;

    /**
     * 发布状态；1：已发布；2：定时发布；3：草稿；
     */
    private String publishState;

    /**
     * 分类
     */
    private String articleSort;
    private String articleSort_dictText;
    private ArticleSort sort;

    /**
     * 标签
     */
    private String articleLable;
    private String articleLable_dictText;
    private List<ArticleLable> tags;


    /**
     * 点赞数
     */
    private Integer likesNum;
    /**
     * 收藏数
     */
    private Integer collectNum;

    /**
     * 浏览数
     */
    private Integer viewsNum;

    /**
     * 封面
     */
    private String cover;
    /**
     * 封面
     */
    private String isCover;
    /**
     * 文章类型
     */
    private String articleType;
    /**
     * 发布形式
     */
    private String publishForm;
    /**
     * 原文链接
     */
    private String originalTextLink;
    /**
     * 原文是否允许转载，或者是否获得作者授权
     */
    private String isAuthorAuthorization;
    /**
     * 是否百度收录；1：是；0：否
     */
    private String isIncluded;
    /**
     * 是否推荐；1：是；0：否
     */
    private String isRecommend;
    /**
     * 删除状态 0未删除 1删除
     */
    private Integer delFlag;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /**
     * 编辑器类型；1：MD编辑器；2：富文本编辑器
     */
    private String editorType;

    private SysUserVo user;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date favTime;

    private List<Map<String, String>> likeList;



    /**
     * 摘要
     */
    private String abstractText;
}

